分享一個以前用過的方法
JavaScript 跟 PHP 互相傳值有很多方法,最常看到的是用 Post 的方式,不過我個人卻是比較喜歡使用Cookie,這裡就跟大家分享一個以前的案例。
本案例中,先利用 JavaScript 取得Client端的螢幕解析,然後寫到Cookie中,
PHP程式再借由讀取Client端的Cookie取得。
<script language="javascript">
var the_cookie = screen.width +"x"+ screen.height;
function Set_Cookie( name, value, expires, path, domain, secure )
{
// 先取得目前時間
var today = new Date();
today.setTime( today.getTime() );
/*
設定expires times
*/
if ( expires )
{
expires = expires * 1000 * 60 * 60 * 24;
}
var expires_date = new Date( today.getTime() + (expires) );
document.cookie = name + "=" +escape( value ) +
( ( expires ) ? ";expires=" + expires_date.toGMTString() : "" ) +
( ( path ) ? ";path=" + path : "" ) +
( ( domain ) ? ";domain=" + domain : "" ) +
( ( secure ) ? ";secure" : "" );
}
// 如果已經存在cookie,則取得該值
function Get_Cookie( name ) {
var start = document.cookie.indexOf( name + "=" );
var len = start + name.length + 1;
if ( ( !start ) &&
( name != document.cookie.substring( 0, name.length ) ) )
{
return null;
}
if ( start == -1 ) return null;
var end = document.cookie.indexOf( ";", len );
if ( end == -1 ) end = document.cookie.length;
return unescape( document.cookie.substring( len, end ) );
}
//設定Cookie
if ( Get_Cookie( 'users_resolution' )==null )
{
Set_Cookie("users_resolution",the_cookie);
}
</script>
接著在PHP程式中只要只用下列方式就可以取得Cookie
<?php
if(isset($_COOKIE["users_resolution"]))
{
$screen_res = $_COOKIE["users_resolution"];
}
?>